package org.aswing;

extern class Container extends Component {
	function new() : Void;
	function append(p0 : Component, ?p1 : Dynamic) : Void;
	function appendAll( ?p1 : Dynamic, ?p2 : Dynamic, ?p3 : Dynamic, ?p4 : Dynamic, ?p5 : Dynamic ) : Void;
	function doLayout() : Void;
	function getComponent(p0 : Int) : Component;
	function getComponentCount() : Int;
	function getFocusTraversalPolicy() : FocusTraversalPolicy;
	function getIndex(p0 : Component) : Int;
	function getLayout() : LayoutManager;
	function insert(p0 : Int, p1 : Component, ?p2 : Dynamic) : Void;
	function insertAll(p0 : Int, ?p1 : Dynamic, ?p2 : Dynamic, ?p3 : Dynamic, ?p4 : Dynamic, ?p5 : Dynamic ) : Void;
	function isAncestorOf(p0 : Component) : Bool;
	function reAppendChildren() : Void;
	function remove(p0 : Component) : Component;
	function removeAll() : Void;
	function removeAt(p0 : Int) : Component;
	function setFocusTraversalPolicy(p0 : FocusTraversalPolicy) : Void;
	function setLayout(p0 : LayoutManager) : Void;
	private var children : Array<Dynamic>;
	private var layout : LayoutManager;
	private function getChildIndexWithComponentIndex(p0 : Int) : Int;
	private function getComponentIndexWithChildIndex(p0 : Int) : Int;
	private function insertImp(p0 : Int, p1 : Component, ?p2 : Dynamic) : Void;
	private function removeAtImp(p0 : Int) : Component;
}
